home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / Documentation / s390 / config3270.sh
Encoding:
Linux/UNIX/POSIX Shell Script  |  2008-12-24  |  2.0 KB  |  77 lines

  1. #!/bin/sh
  2. #
  3. # config3270 -- Autoconfigure /dev/3270/* and /etc/inittab
  4. #
  5. #       Usage:
  6. #               config3270
  7. #
  8. #       Output:
  9. #               /tmp/mkdev3270
  10. #
  11. #       Operation:
  12. #               1. Run this script
  13. #               2. Run the script it produces: /tmp/mkdev3270
  14. #               3. Issue "telinit q" or reboot, as appropriate.
  15. #
  16. P=/proc/tty/driver/tty3270
  17. ROOT=
  18. D=$ROOT/dev
  19. SUBD=3270
  20. TTY=$SUBD/tty
  21. TUB=$SUBD/tub
  22. SCR=$ROOT/tmp/mkdev3270
  23. SCRTMP=$SCR.a
  24. GETTYLINE=:2345:respawn:/sbin/mingetty
  25. INITTAB=$ROOT/etc/inittab
  26. NINITTAB=$ROOT/etc/NEWinittab
  27. OINITTAB=$ROOT/etc/OLDinittab
  28. ADDNOTE=\\"# Additional mingettys for the 3270/tty* driver, tub3270 ---\\"
  29.  
  30. if ! ls $P > /dev/null 2>&1; then
  31.     modprobe tub3270 > /dev/null 2>&1
  32. fi
  33. ls $P > /dev/null 2>&1 || exit 1
  34.  
  35. # Initialize two files, one for /dev/3270 commands and one
  36. # to replace the /etc/inittab file (old one saved in OLDinittab)
  37. echo "#!/bin/sh" > $SCR || exit 1
  38. echo " " >> $SCR
  39. echo "# Script built by /sbin/config3270" >> $SCR
  40. if [ ! -d /dev/dasd ]; then
  41.     echo rm -rf "$D/$SUBD/*" >> $SCR
  42. fi
  43. echo "grep -v $TTY $INITTAB > $NINITTAB" > $SCRTMP || exit 1
  44. echo "echo $ADDNOTE >> $NINITTAB" >> $SCRTMP
  45. if [ ! -d /dev/dasd ]; then
  46.     echo mkdir -p $D/$SUBD >> $SCR
  47. fi
  48.  
  49. # Now query the tub3270 driver for 3270 device information
  50. # and add appropriate mknod and mingetty lines to our files
  51. echo what=config > $P
  52. while read devno maj min;do
  53.     if [ $min = 0 ]; then
  54.         fsmaj=$maj
  55.         if [ ! -d /dev/dasd ]; then
  56.             echo mknod $D/$TUB c $fsmaj 0 >> $SCR
  57.             echo chmod 666 $D/$TUB >> $SCR
  58.         fi
  59.     elif [ $maj = CONSOLE ]; then
  60.         if [ ! -d /dev/dasd ]; then
  61.             echo mknod $D/$TUB$devno c $fsmaj $min >> $SCR
  62.         fi
  63.     else
  64.         if [ ! -d /dev/dasd ]; then
  65.             echo mknod $D/$TTY$devno c $maj $min >>$SCR
  66.             echo mknod $D/$TUB$devno c $fsmaj $min >> $SCR
  67.         fi
  68.         echo "echo t$min$GETTYLINE $TTY$devno >> $NINITTAB" >> $SCRTMP
  69.     fi
  70. done < $P
  71.  
  72. echo mv $INITTAB $OINITTAB >> $SCRTMP || exit 1
  73. echo mv $NINITTAB $INITTAB >> $SCRTMP
  74. cat $SCRTMP >> $SCR
  75. rm $SCRTMP
  76. exit 0
  77.